package com.itheima.service;

import com.itheima.domain.Role;
import com.itheima.domain.UserInfo;

import java.util.List;

public interface IUserInfoService {

    /**
     * 分页查询，查询所有用户信息
     *
     * @param pageNum  当前页
     * @param pageSize 每页显示条数
     * @return
     */
    List<UserInfo> findAllUserInfo(Integer pageNum, Integer pageSize);

    /**
     * 添加新用户信息
     *
     * @param userInfo
     */
    void insertUserInfo(UserInfo userInfo);

    /**
     * 根据id查询用户的详细信息
     *
     * @param userInfoId 用户id
     * @return
     */
    UserInfo findByUserInfoId(String userInfoId);

    /**
     * 根据用户id查询此用户未拥有的角色
     *
     * @param userInfoId 用户ID
     * @return
     */
    List<Role> insertUserInfoRole(String userInfoId);

    /**
     * 根据用户id和角色id，添加此用户未拥有的角色
     *
     * @param userInfoId 用户id
     * @param roleIds    角色id
     */
    void insertByUserInfoIdAndRoleId(String userInfoId, String[] roleIds);
}
